package com.anyou.mall.goo.goodsAudit.domain;

import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import com.anyou.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.anyou.common.core.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 商品审核对象 goo_goods
 *
 * @author ruoyi
 * @date 2022-03-25
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper=false)
@ApiModel(value = "商品审核")
@TableName(value = "goo_goods")
public class goodsAudit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("goodsId")
    private Long goodsId;


    @ApiModelProperty(value = "商品名称")
    @NotEmpty(message = "商品名称不能为空")
    @Length(max = 100, message = "商品名称太长，不能超过100个字符")
    private String goodsName;

    @ApiModelProperty(value = "商品价格", required = true)
    @NotNull(message = "商品价格不能为空")
    @Min(value = 0, message = "商品价格不能为负数")
    @Max(value = 99999999, message = "商品价格不能超过99999999")
    private Double price;

    @ApiModelProperty(value = "分类path")
    private String categoryPath;

    @TableField(exist = false)
    @ApiModelProperty(value = "分类Name")
    private String categoryNameStr;

    @ApiModelProperty(value = "计量单位")
    private String goodsUnit;


    /*@Length(max = 60, message = "商品卖点太长，不能超过60个字符")
    @ApiModelProperty(value = "卖点 （商品名称下面的简介暂时不用）")
    private String sellingPoint;*/

    /**
     * 上架状态（0上架 1下架）
     */
    @ApiModelProperty(value = "上架状态（0上架 1下架）")
    private String marketEnable;

    @ApiModelProperty(value = "详情")
    private String intro;

    @ApiModelProperty(value = "购买数量")
    private Integer buyCount;

    @Max(value = 99999999, message = "库存不能超过99999999")
    @ApiModelProperty(value = "库存")
    private Integer quantity;

    @ApiModelProperty(value = "商品好评率")
    private Double grade;

    @ApiModelProperty(value = "商品图片路径")
    private String original;

    @ApiModelProperty(value = "评论数量")
    private Integer commentNum;

    @ApiModelProperty(value = "卖家id")
    private Long storeId;

    @ApiModelProperty(value = "卖家名字")
    private String storeName;

    /**
     * 审核状态（0待审核 1通过 2不通过）
     */
    @ApiModelProperty(value = "审核状态（0待审核 1通过 2不通过）")
    private String auditStatus;

    /** 审备注（审核 ） */
    @ApiModelProperty("备注（审核 ）")
    private String auditRemark;

    @ApiModelProperty(value = "下架原因")
    private String underMessage;

    @ApiModelProperty(value = "商品移动端详情")
    private String mobileIntro;

    @ApiModelProperty(value = "商品视频")
    private String goodsVideo;


    @ApiModelProperty(value = "是否为推荐商品", required = true)
    private String recommend;

    @ApiModelProperty(value = "商品参数json", hidden = true)
    private String goodParams;

    @TableLogic( value = "0",delval = "2" )
    @ApiModelProperty(value = "（0代表存在 2代表删除）")
    private String delFlag;


    @ApiModelProperty("是否为积分商品（0-否，1-是）")
    private Integer isJf;

    @ApiModelProperty("积分商品类型（0-实体商品，1-虚拟商品）")
    private String jfType;

    @ApiModelProperty("积分商品库存")
    private Integer jfStock;

    @ApiModelProperty("积分值")
    private Integer jfValue;

}
